home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 42
/
Amiga Format AFCD42 (Issue 126, Aug 1999).iso
/
-serious-
/
graphics
/
graphics3d
/
doc
/
graphics3d.h
< prev
next >
Wrap
C/C++ Source or Header
|
1999-05-25
|
22KB
|
511 lines
@DATABASE "graphics3D.h"
@MASTER "Ram Disk:graphics3D.h"
@REMARK This file was created by ADtoHT 2.1 on 21-Gen-99 23:47:50
@REMARK Do not edit
@REMARK ADtoHT is © 1993-1995 Christian Stieber
@NODE MAIN "graphics3D.h"
@{"graphics3D.h" LINK File}
@{b}Structures@{ub}
@{"ambient3d" LINK "graphics3D.h/File" 334} @{"buftmap" LINK "graphics3D.h/File" 230} @{"dir3d" LINK "graphics3D.h/File" 203}
@{"edge" LINK "graphics3D.h/File" 221} @{"grafica" LINK "graphics3D.h/File" 409} @{"line" LINK "graphics3D.h/File" 196}
@{"matrix1x4" LINK "graphics3D.h/File" 158} @{"matrix4x4" LINK "graphics3D.h/File" 136} @{"objectnode" LINK "graphics3D.h/File" 271}
@{"pixel" LINK "graphics3D.h/File" 188} @{"pixl" LINK "graphics3D.h/File" 211} @{"poltmap" LINK "graphics3D.h/File" 239}
@{"polygon" LINK "graphics3D.h/File" 253} @{"polytemp" LINK "graphics3D.h/File" 298} @{"rgbtype" LINK "graphics3D.h/File" 96}
@{"tag3d" LINK "graphics3D.h/File" 105} @{"vector" LINK "graphics3D.h/File" 168} @{"vert1" LINK "graphics3D.h/File" 177}
@{"vertex" LINK "graphics3D.h/File" 75} @{"vtmap" LINK "graphics3D.h/File" 83}
@{b}Typedefs@{ub}
@{"Sambient3d" LINK "graphics3D.h/File" 403} @{"SAreaInfo" LINK "graphics3D.h/File" 392} @{"Sbuftmap" LINK "graphics3D.h/File" 405}
@{"Sdir3d" LINK "graphics3D.h/File" 401} @{"Sedge" LINK "graphics3D.h/File" 404} @{"Sgrafica" LINK "graphics3D.h/File" 391}
@{"Smatrix4x4" LINK "graphics3D.h/File" 402} @{"Sobjectnode" LINK "graphics3D.h/File" 395} @{"Spolygon" LINK "graphics3D.h/File" 398}
@{"Spolytemp" LINK "graphics3D.h/File" 400} @{"SRastPort" LINK "graphics3D.h/File" 394} @{"STmpRas" LINK "graphics3D.h/File" 393}
@{"Svector" LINK "graphics3D.h/File" 399} @{"Svert1" LINK "graphics3D.h/File" 397} @{"Svertex" LINK "graphics3D.h/File" 396}
@{b}#defines@{ub}
@{"ATMP" LINK "graphics3D.h/File" 132} @{"COMPLEMENT" LINK "graphics3D.h/File" 15} @{"CS_GCOLOR" LINK "graphics3D.h/File" 35}
@{"CS_NPX0" LINK "graphics3D.h/File" 37} @{"CS_NPY0" LINK "graphics3D.h/File" 38} @{"CS_PROJET" LINK "graphics3D.h/File" 33}
@{"CS_SBUFF" LINK "graphics3D.h/File" 34} @{"CS_VDIST" LINK "graphics3D.h/File" 36} @{"CS_VIEWP" LINK "graphics3D.h/File" 41}
@{"CS_ZBUF" LINK "graphics3D.h/File" 40} @{"CS_ZOOM" LINK "graphics3D.h/File" 39} @{"END_T" LINK "graphics3D.h/File" 26}
@{"FIXV" LINK "graphics3D.h/File" 116} @{"FIXVM" LINK "graphics3D.h/File" 117} @{"FLAT" LINK "graphics3D.h/File" 21}
@{"FRUSTUM" LINK "graphics3D.h/File" 25} @{"GORAUD" LINK "graphics3D.h/File" 22} @{"GP_COL" LINK "graphics3D.h/File" 49}
@{"GP_HRGB" LINK "graphics3D.h/File" 50} @{"GP_INFO" LINK "graphics3D.h/File" 53} @{"GP_LRGB" LINK "graphics3D.h/File" 51}
@{"GP_NCOL" LINK "graphics3D.h/File" 47} @{"GP_NLIV" LINK "graphics3D.h/File" 48} @{"GP_PALET" LINK "graphics3D.h/File" 52}
@{"GP_RCOL" LINK "graphics3D.h/File" 46} @{"GP_TRASP" LINK "graphics3D.h/File" 54} @{"INVERSVID" LINK "graphics3D.h/File" 16}
@{"JAM1" LINK "graphics3D.h/File" 13} @{"JAM2" LINK "graphics3D.h/File" 14} @{"LEN_TABC" LINK "graphics3D.h/File" 126}
@{"LTMP" LINK "graphics3D.h/File" 131} @{"MAXDX" LINK "graphics3D.h/File" 123} @{"MAXDY" LINK "graphics3D.h/File" 124}
@{"MAXOBJECT" LINK "graphics3D.h/File" 121} @{"MAXPOINT" LINK "graphics3D.h/File" 120} @{"MAXVER()" LINK "graphics3D.h/File" 386}
@{"MAXVERT" LINK "graphics3D.h/File" 122} @{"MFRAC" LINK "graphics3D.h/File" 118} @{"MINT" LINK "graphics3D.h/File" 119}
@{"MO_STATE" LINK "graphics3D.h/File" 59} @{"MO_VMODE" LINK "graphics3D.h/File" 60} @{"MP_2SIDE" LINK "graphics3D.h/File" 67}
@{"MP_ACTIV" LINK "graphics3D.h/File" 71} @{"MP_COLOR" LINK "graphics3D.h/File" 66} @{"MP_POLY" LINK "graphics3D.h/File" 65}
@{"MP_TMAP" LINK "graphics3D.h/File" 68} @{"MP_VTAUTO" LINK "graphics3D.h/File" 70} @{"MP_VTMAP" LINK "graphics3D.h/File" 69}
@{"PARAL_P" LINK "graphics3D.h/File" 18} @{"PROSP_P" LINK "graphics3D.h/File" 17} @{"SFIXV" LINK "graphics3D.h/File" 115}
@{"SMARG" LINK "graphics3D.h/File" 129} @{"SMARGM" LINK "graphics3D.h/File" 130} @{"SOLID" LINK "graphics3D.h/File" 20}
@{"TMAP" LINK "graphics3D.h/File" 23} @{"TRASP" LINK "graphics3D.h/File" 27} @{"TTMAP" LINK "graphics3D.h/File" 125}
@{"WIREF" LINK "graphics3D.h/File" 19} @{"ZPLANE" LINK "graphics3D.h/File" 24}
@ENDNODE
@NODE File "graphics3D.h"
/*
** $VER: graphics3d.h 10.02 (02.03.98)
**
** main include file for graphics3d.library
**
** (C) Copyright 1997 Patrizio Biancalani
** All Rights Reserved.
*/
#ifndef GRAPHICS3D_GRAPHICS3D_H
#define GRAPHICS3D_GRAPHICS3D_H
#define JAM1 0
#define JAM2 1
#define COMPLEMENT 2
#define INVERSVID 4
#define PROSP_P 0 /* tipo proiezione prospettica */
#define PARAL_P 1 /* tipo proiezione parallela */
#define WIREF 0 /* modo visualizzazione in wire frame */
#define SOLID 2 /* modo visualizzazione in solid */
#define FLAT 1 /* modo visualizzazione in flat shading */
#define GORAUD 3 /* modo visualizzazione in goraud shading */
#define TMAP 0x10 /* modo visualizzazione in texture mapping */
#define ZPLANE 0 /* #1 modo clippaggio oggetti */
#define FRUSTUM 1 /* #2 modo clippaggio oggetti */
#define END_T 0 /* fine array tag3d di dati */
#define TRASP 1000 /* valore registro colore che indica trasparente */
/*
tipi dati per tag3d.tipo riconosciuti attualmente per
funzione GD_cascene()
*/
#define CS_PROJET 1 /* tipo di proiezione */
#define CS_SBUFF 2 /* attivazione o meno single buffering */
#define CS_GCOLOR 3 /* nuovo colore sfondo box di visualizzazione */
#define CS_VDIST 4 /* nuovo valore distanza da piano di proiezione */
#define CS_NPX0 5 /* nuova posizione X per box di visualizzazione */
#define CS_NPY0 6 /* nuova posizione Y per box di visualizzazione */
#define CS_ZOOM 7 /* nuovo valore per zoom scena */
#define CS_ZBUF 8 /* attivazione o meno z-buffering */
#define CS_VIEWP 9 /* ritorna posizione attuale camera */
/*
tipi dati per tag3d.tipo riconosciuti attualmente per
funzione GD_genpalette()
*/
#define GP_RCOL 1 /* set n# colori da riservare per altri usi */
#define GP_NCOL 2 /* set n# colori base da usare */
#define GP_NLIV 3 /* set n# livelli d'intensita' per ogni colore */
#define GP_COL 4 /* set n# colore a cui associare i prossimi GP_HRBG e @{"GP_LRGB" LINK File 51} */
#define GP_HRGB 5 /* definisce i valori RGB massimi per un colore (def.15,15,15) */
#define GP_LRGB 6 /* definisce i valori RGB minimi per un colore (def. 0,0,0) */
#define GP_PALET 7 /* assegna uno specifico registro della palette al colore @{"GP_COL" LINK File 49} */
#define GP_INFO 8 /* restituisce il n# registro della palette del colore @{"GP_COL" LINK File 49} */
#define GP_TRASP 9 /* assegno colore trasparente ad ultimo e lo ignoro per i livelli */
/*
tipi dati per tag3d.tipo riconosciuti attualmente per
funzione GD_modobj()
*/
#define MO_STATE 1 /* attiva(1) o disattiva(0) l'oggetto attuale */
#define MO_VMODE 2 /* setta il nuovo viewmode dell'oggetto attuale */
/*
tipi dati per tag3d.tipo riconosciuti attualmente per
funzione GD_modpoly()
*/
#define MP_POLY 1 /* set n# poligono su cui far operare le modifiche */
#define MP_COLOR 2 /* modifica il colore del poligono */
#define MP_2SIDE 3 /* setta a 2(1) o 1(0) faccia il poligono */
#define MP_TMAP 4 /* assegna una texture map al poligono */
#define MP_VTMAP 5 /* definisce i vertici della texture map del poligono */
#define MP_VTAUTO 6 /* definisce i vertici automaticamente */
#define MP_ACTIV 7 /* attiva(1) o disattiva(0) il poligono selezionato */
/** STRUTTURE DATI DI USO ESTERNO ED INTERNO **/
/* vertice, usa formato float a virgola fissa ,(val*@{"FIXV" LINK File 116}) */
struct vertex
{
long int x;
long int y;
long int z;
};
/* vertice su texture map (valori in pixel intero corto)*/
struct vtmap
{
short int x1;
short int y1;
short int x2;
short int y2